package com.lagou.homework03;

import java.util.Scanner;

/**题目2
 * 编程获取两个指定字符串中的最大相同子串。
 *
 *  如： s1="asdafghjka", s2="aaasdfg" 他们的最大子串为"asd"
 *
 *  提示： 将短的那个串进行长度依次递减的子串与较长的串比较。
 */
public class MaxSubStringTest {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请依次输入两个字符串:");
        String str1 = sc.next();
        String str2 = sc.next();
        String max = "";
        String min = "";
        if (str1.length() > str2.length()) {//区分字符串长度，方便确定循环范围
            max = str1;
            min = str2;
        } else {
            max = str2;
            min = str1;
        }
        String show = show(max, min);

        System.out.println("输入的两个字符串最大子串为：" + show);

    }

    public static String show(String max, String min )  {

        for(int i = 0; i < min.length(); i++)   {
            for(int j = 0, l = min.length() - i; l <= min.length(); j++, l++)   {
               String str3 = min.substring(j, l);
               if (max.contains(str3))  {
                   return str3;
               }
            }
        }
        return null;
    }

}
